PlayerSuperComponent
以下是PlayerSuperComponent​类的成员变量、类型定义和成员函数的详细说明,以表格形式列出:
类型定义
类型定义 描述
SuperComponentCreateOptions 一个类型别名,定义了创建组件时的选项结构,包含目标对象、位置和其他任意数据。
成员变量
成员变量 描述
owner: SuperPlayer 保存组件所有者的引用,类型为SuperPlayer​。
成员函数
成员函数 描述
constructor(typeId: string, owner: SuperPlayer, options?: SuperComponentCreateOptions) 构造函数,初始化组件的类型标识符、所有者引用和创建选项,并绑定相关事件。
deconstructor(op?: string): void 析构函数,用于清理组件资源,解绑相关事件。
init(): void 组件初始化方法,可以在此方法中执行组件的初始化逻辑。
getOwner(): SuperPlayer 获取组件的所有者实例,类型为SuperPlayer​。
onStart(): void 组件启动时调用的方法,继承自EntitySuperComponent​类的同名方法。
onItemStopUseOnAfterEvent(event: ItemStopUseOnAfterEvent): void 玩家停止使用物品后的事件处理函数。
onItemStartUseAfterEvent(event: ItemStartUseAfterEvent): void 玩家开始使用物品后的事件处理函数。
onItemReleaseAfterEvent(event: ItemReleaseUseAfterEvent): void 玩家释放使用物品后的事件处理函数。
onItemCompleteAfterEvent(event: ItemCompleteUseEvent): void 玩家完成使用物品后的事件处理函数。
onItemUseOnAfterEvent(event: ItemUseOnAfterEvent): void 玩家在方块上使用物品后的事件处理函数。
onItemUseAfterEvent(event: ItemUseAfterEvent): void 玩家使用物品后的事件处理函数。
onPlayerSpawnAfterEvent(event: PlayerSpawnAfterEvent): void 玩家生成后的事件处理函数。
onPlaceBlockAfterEvent(event: PlayerPlaceBlockAfterEvent): void 玩家放置方块后的事件处理函数。
onLeaveAfterEvent(event: PlayerLeaveAfterEvent): void 玩家离开后的事件处理函数。
onJoinAfterEvent(event: PlayerJoinAfterEvent): void 玩家加入后的事件处理函数。
onInteractWithEntityAfterEvent(event: PlayerInteractWithEntityAfterEvent): void 玩家与实体互动后的事件处理函数。
onInteractWithBlockAfterEvent(event: PlayerInteractWithBlockAfterEvent): void 玩家与方块互动后的事件处理函数。
onInputPermissionCategoryChangeAfterEvent(event: PlayerInputPermissionCategoryChangeAfterEvent): void 玩家输入权限类别改变后的事件处理函数。
onGameModeChangeAfterEvent(event: PlayerGameModeChangeAfterEvent): void 玩家游戏模式改变后的事件处理函数。
onEmoteAfterEvent(event: PlayerEmoteAfterEvent): void 玩家表情动作后的事件处理函数。
onDimensionChangeAfterEvent(event: PlayerDimensionChangeAfterEvent): void 玩家维度改变后的事件处理函数。
onBreakBlockAfterEvent(event: PlayerBreakBlockAfterEvent): void 玩家破坏方块后的事件处理函数。
onLeaveBeforeEvent(event: PlayerLeaveBeforeEvent): void 玩家离开前的事件处理函数。
onInteractWithEntityBeforeEvent(event: PlayerInteractWithEntityBeforeEvent): void 玩家与实体互动前的事件处理函数。
onInteractWithBlockBeforeEvent(event: PlayerInteractWithBlockBeforeEvent): void 玩家与方块互动前的事件处理函数。
onGameModeChangeBeforeEvent(event: PlayerGameModeChangeBeforeEvent): void 玩家游戏模式改变前的事件处理函数。
onItemUseOnBeforeEvent(event: ItemUseOnBeforeEvent): void 玩家在方块上使用物品前的事件处理函数。
onItemUseBeforeEvent(event: ItemUseBeforeEvent): void 玩家使用物品前的事件处理函数。
onChatSendBeforeEvent(event: ChatSendBeforeEvent): void 玩家发送聊天信息前的事件处理函数。
onPlaceBlockBeforeEvent(event: PlayerPlaceBlockBeforeEvent): void 玩家放置方块前的事件处理函数。
onBreakBlockBeforeEvent(event: PlayerBreakBlockBeforeEvent): void 玩家破坏方块前的事件处理函数。
详细描述
PlayerSuperComponent​类继承自EntitySuperComponent​类,用于创建和管理附加到SuperPlayer​实例的自定义组件。这个类在构造函数中绑定了一系列玩家事件,以便在玩家发生特定行为时进行响应。在析构函数中,它解绑了这些事件,确保资源被正确清理。
constructor
构造函数初始化组件的typeId​、owner​和create_options​,并绑定了玩家的一系列事件,如使用物品、放置方块、离开游戏、加入游戏、与实体或方块互动等。
deconstructor
析构函数解绑了在构造函数中绑定的事件,确保当组件不再需要时,不会留下任何挂引用。
init
用于初始化组件的状态和属性。
getOwner
返回组件的所有者实例,这里确保返回的是SuperPlayer​类型的实例。
onStart
在组件启动时调用的方法,这里调用了基类的onStart​方法。
事件处理函数
类中定义了一系列事件处理函数,如onItemStopUseOnAfterEvent​、onItemStartUseAfterEvent​等,这些函数在对应的玩家事件发生时被调用。这些方法的具体实现需要由子类提供。
PlayerSuperComponent​类提供了一个框架,用于在游戏中创建和管理附加到玩家的自定义组件,使得玩家的行为和属性可以被灵活地扩展和修改。